Decentralized media delivery

ABSTRACT

A decentralized approach to delivering a media file to a requesting subscriber in a network of subscribers comprises the steps of segmenting the media file into a plurality of segments and distributing the segments of the media file among the network of subscribers, and responding to a request from the requesting subscriber by directing to that requesting subscriber all of the plurality of segments of the media file. All of segments are assembled into the media file and displayed or stored by the requesting subscriber.

[0001] This application claims the benefit of the filing date of U.S.Provisional Patent Application No. 60/396,357, hereby incorporated byreference.

TECHNICAL FIELD

[0002] This application relates to the field of electronic mediadelivery, such as video-on-demand, including the secure handling andstorage of such media.

BACKGROUND

[0003] Current options for viewing a movie at home include traveling toa movie rental store to obtain a videotape or DVD copy of the movie. Thecopy must be returned a few days later. Another option is to select fromthe limited number of choices that are offered from sources that providewhat is known as pay-per-view movies. Cable or broadcast movie channelsprovide a limited number of selections of movies for display apredetermined times.

[0004] It is usually not economically feasible for the operator of, forexample, a cable television (CATV) system (or other content provider) toprovide for delivery-on-demand a large number of movie selections tosubscribers because such a system requires a extensive amount ofbandwidth between the content provider and each of the subscriber units(televisions or other display devices) of the network.

SUMMARY OF THE INVENTION

[0005] The present invention addresses the problem of prohibitivebandwidth requirements for a content provider in deliveringvideo-on-demand or other large media files. In short, there is provideda system that shifts the bandwidth requirements away from the contentprovider and to the network of subscriber units.

[0006] In one embodiment, a media file representing, for example, amovie is segmented. These segments are distributed among the network ofsubscriber units. Any one of the subscribers may submit a request toview a movie. In response to such a request, the other subscriber unitsdirect to the requesting subscriber all of the segments, which are thenassembled into the complete media file (movie) for display, or storedfor later display, on the requesting subscriber's unit.

[0007] In one embodiment, the subscriber's request is sent to thenetrolrk's main server. The main server then instructs the networksubscribers to forward copies of the segments stored in those units tothe unit of the requesting subscriber. The segments are each encryptedor otherwise encoded to prevent unauthorized viewing of individualsegments. When the requesting subscriber has received all segments ofthe movie, that unit sends a message to the main server, requesting theencryption key to unlock the movie. The main server provides this, andbilling information is then recorded in the main server.

[0008] The segmented and distributed storage of the media file providesa high level of security and a deterrence to piracy. No singlesubscriber unit has more than a segment of a media file, which segment,by itself, has little value.

[0009] In another embodiment, the segments of the media file are copiedand these copied segments are also distributed to the networksubscribers in a manner that provides redundancy to the system so thatin the event that a given subscriber unit is unable to provide therequesting subscriber with the segment stored on that given unit, therewill be available on other units copies of that segment to complete themedia file.

[0010] It is contemplated that the request for the media file andsubsequent responses for directing the segments to the requester can behandled without the intervention of the network's main server by usingpeer-to-peer architecture or the like.

[0011] Other advantages and features of the present invention willbecome clear upon study of the following portion of this specificationand drawings.

BRIEF DESCRIPTION OF DRAWINGS

[0012]FIG. 1 is a block diagram of a system adapted for carrying out thedecentralized media delivery of the present invention.

[0013]FIG. 2 is a depiction of how segments of a movie-type media fileare stored on the units of network subscribers.

[0014]FIG. 3 is a depiction of an alternative way in which segments of amovie-type media file are stored on the units of network subscribers.

[0015]FIG. 4 is a flow diagram showing how the decentralized media filedelivery of the present invention is carried out.

BEST MODES FOR CARRYING OUT THE INVENTION

[0016] With reference to FIG. 1, a preferred embodiment of the presentinvention is includes a network 20 of electronically connectedsubscribers A, B, C, and D. The small number of subscribers depictedhere is intended to be representative of, for example, the thousands ofsubscribers that may be part of a typical cable television (CATV)network. Alternatively, the network can be any other communicationsnetwork of users or subscribers, such as those linked by a local areanetwork (LAN) or a wide area network (WAN).

[0017] Each subscriber includes a unit 22, which, in a CATV network, canbe adapted from a conventional set-top box. Each subscriber unit 22includes a central processing unit (CPU) 24 that, among other things, isin communication with a main server 26 of the network for receiving andproviding instructions and data as will be described.

[0018] Each subscriber unit 22 also includes a storage device, such as aconventional hard disk. This device, hereafter referred to as segmentstorage 28, stores segments of one or more media files. It is noteworthyhere that the term “media file,” although most often used hereafter torefer to digitized data that represents a movie and that can beprocessed to display the movie, is intended to also include any type ofmedia file that can be stored and displayed.

[0019] Each subscriber unit 22 is associated with a display device 30,preferably capable of displaying video information, as well as a userinterface 32 for receiving and processing infonnation from the user ofthe subscriber unit. Such an interface 32 may be a convention televisionremote control for powering the unit and requesting a display of menuoptions (movie titles, etc) for selection by the user. A speaker system(not shown) is also connected to the subscriber unit for providing audioinformation.

[0020] In accordance with the present invention, each unit 22 receivesfrom the main server 26 one or more segments of a complete media file.The segments are stored in the corresponding segment storage 28. FIG. 2depicts the segment storage 28 of one unit. Stored there are fivedifferent segments S1, S65, S159, S561, S86. Each segment is part of adifferent movie. In one embodiment, a segment is a digital packet thatincludes data representing a small portion of the movie (video andaudio) as well as a header that includes a packet identifier,descrambling control, and other information. The header identifies themovie and the segment number of the movie so that the movie data may bereadily assembled once all of the packets are collected, as will bedescribed.

[0021]FIG. 3 depicts an alternative way of segmenting a media file(movie) for storage in the segment storage 28 of a subscriber unit.Here, several separate segments S1, S5, S9, and S13 of a movie (“MovieA”) are bundled together for storage. The segments are separate in thesense that they represent discontinuous or non-sequential portions ofthe movie and must be soiled and integrated with the remaining segments(distributed elsewhere in the network) to provide the complete movie.This approach to segmenting the movie provides increased security frompiracy since each subscriber A, B, C, etc, will store only very smallportions of the movie on the storage device of the unit. If the segmentsare made very small, to the scale of a few bytes or single bits,decoding of any individual bundle will be virtually impossible. Further,access to the correct method for recombining the segments to recreatethe original media file could be stored in a password-protected file,linked to an encryption key, or locked to all devices except thespecific hardware device that created the bundled segments.

[0022] Although FIG. 3 shows only bundled segments of a single movie“A,” it will be understood that each segment storage 28 of eachsubscriber unit 22 can store a number of such bundled segments from thesame or different movies.

[0023] The main server 26 includes a controller 36 that controls thedistribution of a multitude of segments over the network 20. Thesegments are delivered from a segment library 3S that comprises segmentsof all movies that are available to the network. In one embodiment, themain server 26 includes a segment-tracking module 34 for tracking thelocation of the segments. For example, in some networks not all of thesubscriber units 22 may at all times participate in the media-filedelivery system of the present invention. Accordingly, thesegment-tracking module 34 stores the addresses of the participatingunits and, via a look-up-table or the like, keeps track of whichsegments are distributed to which units.

[0024] Whenever a subscriber requests a movie, the segment-trackingmodule 34 provides an efficient way of instructing the remaining units(that is, the ones storing the segments of the requested movie) toforward all of the stored segments to the requesting subscriber. Thesegment-tracking module 34 also permits, for example, occasional testingof the system wherein the controller 36 from time to time initiates atest movie request (wherein the main server acts as a requestingsubscriber) and then compares the received segments with those listed inthe segment-tracking module 34 to ensure that all segments are timelyreceived. If not, that segment-tracking module 34, under the control ofcontroller 36 can redistribute the missing segment(s) to otherparticipating units 22.

[0025] In one embodiment each subscriber will receive and store at leastone segment of a movie. Each segment, however, is copied and distributedto a plurality of different subscribers to provide for redundantavailability of each segment in the event a subscriber's segment storage28 becomes inaccessible. As noted, the main server's segment-trackingmodule 34 can track which segments are held by each subscriber unit,thereby to optimize the network's redundancy, and to facilitatereplacement or redistribution of segments when necessary.

[0026]FIG. 4 shows a flow diagram indicating how the decentralized mediafile delivery of the present invention is carried out. Associated withthe main server 26 is the segments library 38 that is stocked 100 withsegments of available movies.

[0027] As noted, the main server 26, via the controller 36 andsegment-tracking module 34, distribute 102 the movie segments (includingcopies of segments to establish the redundancy described above) to allof the participating subscriber units 22. Such distribution and storageof the segments on the units may be performed in a manner that isautomatic and transparent to the users of the units.

[0028] With continued reference to FIG. 4, after the main serverreceives a movie request 104 from a requesting subscriber (the requestmade via user interface 32 described above), the server responds 106 bysending over the network instructions to the network subscriber units todirect all of the segments of the requested movie to the requestingsubscriber.

[0029] The segments received at the requesting unit, comprising a streamof packets as mentioned above, are applied to a demultiplexer 40(FIG. 1) for header parsing to recover the packet or segment identifiernumber, descrambling control, and other information. The subscriber unitCPU 24 and associated buffers (not shown) log the received packets and,once all packets are received, sends a notice to the main server 26 thatall packets now reside in the unit of the requesting subscriber. Themain server 26 upon receiving this notice 108 (FIG. 4) responds bytransmitting authorization, such as an entitlement control message, tothe subscriber unit 110. At that time, an entry is made in therequesting subscriber's billing information to reflect the purchase ofthe movie.

[0030] Once the authorization is received by the unit, the packets arethen descrambled 42 (FIG. 1) and further processed by a decoder 44 tostrip of header data and extract video and audio data for instantdisplay on the subscriber's display device 30, or for storage as acomplete media file (movie) in a mass storage device 46 associated withthe requesting subscriber unit.

[0031] It is noteworthy here that the role of the main server 26 inreceiving the movie request and instructing the subscribers to forwardthe segments to the requesting subscriber unit can be handled by othermeans, such as by use of a peer-to-peer approach whereby the request isprovided directly to all of the network subscribers rather than beingrelayed from the main server 26. The subscriber units that have therequested segments stored therein respond by automatically forwardingthose segments to the requesting subscriber. As is the case with theprior described embodiment (main server receives request and instructssubscribers) the sending and collection of segments occursautomatically, without intervention by any subscriber (apart form theinitial request via the user interface 32 and mentioned above).

[0032] While the present invention has been described in terms ofpreferred embodiments, it will be appreciated by one of ordinary skillin the art that modifications may be made without departing from theteachings and spirit of the foregoing.

1. A method of delivering a media file that is requested by a requestingsubscriber of a network of subscribers, comprising the steps of:segmenting the media file into a plurality of segments; distributing thesegments of the media file among the network of subscribers for storageon respective units of the subscribers; and responding to a request fromthe requesting subscriber by directing to that requesting subscriber allof the plurality of segments of the media file.
 2. The method of claim 1including the step of assembling into the media file all of the segmentsthat are directed to the requesting subscriber.
 3. The method of claim 2including the step of storing the assembled media file in a storagedevice of the requesting subscriber.
 4. The method of claim 1 includingthe step of copying the segments of the media file and wherein thedistributing step includes distributing the copied segments among thenetwork of subscribers in a manner such that any particular segment ofthe media file is stored on at least two different subscriber units. 5.The method of claim 1 including the step of preventing display of theindividual segments of the media file by the subscribers to whom thesegments are distributed.
 6. The method of claim 2 including the step ofallowing display of only the assembled media file by providingauthorization to the requesting subscriber.
 7. The method of claim 1wherein the distributed segments represent a first media file, themethod including the step of distributing among the network ofsubscribers a plurality of segments of a second media file.
 8. Themethod of claim 1 including the steps of: directing the request to acontroller; and relaying the request from the controller to the networkof subscribers, whereby the controller thereafter instructs the networkof subscribers to direct to the requesting subscriber all of theplurality of segments of the media file.
 9. The method of claim 1including the steps of: directing the request to the network ofsubscribers, whereby in response to the request the network ofsubscribers directs to the requesting subscriber all of the plurality ofsegments of the media file.
 10. The method of claim 1 wherein thedistributing step includes tracking the location of the distributedsegments in the subscriber network.
 11. The method of claim 1 whereinthe segmenting step includes forming a bundle of several discontinuousportions of the media file.
 12. The method of claim 1 including the stepof encrypting each of the segments of the media file.
 13. The method ofclaim 1 wherein segmenting the media file includes segmenting the fileinto a plurality of packets that include header information to enableassembly of the packets into the media file and storage of the mediafile in the unit of the requesting subscriber.
 14. A method of storing amedia file, such as a movie, comprising the steps of: providing anetwork of subscribers; distributing discrete segments of the movie tostorage locations of at least some of the subscribers; and tracking thestorage locations of the segments thereby to enable subsequentcollection and assembly of the segments into the media file.
 15. Themethod of claim 14 including the step of preventing display of anystored, discrete segment of the movie by the subscribers.
 16. Asubscriber network for storing a media file comprising: a number ofsubscriber units each unit including storage device for storing asegment of the media file; a plurality of segments of the media filethat are adapted for assembly into the media file, the segments beingdistributed among the subscriber units; and network means for directingto a requesting one of the subscribers all of the segments of the mediafile.
 17. The network of claim 16 wherein the media file comprises amovie.
 18. The network of claim 17 wherein the segments each compriseseveral discontinuous portions of the movie.
 19. The network of claim 16further comprising a plurality of segments of another media file thatare adapted for assembly into the other media file, the plurality ofsegments of the other media file being distributed among the subscriberunits.